package com.shiyun.disaster_station.station.dao;

import com.shiyun.disaster_station.common.CacheBean;
import com.shiyun.disaster_station.interfaces.RootMapper;
import com.shiyun.disaster_station.station.bean.dto.LineTypeDto;
import com.shiyun.disaster_station.station.bean.po.StationPo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 类 描 述: 站点
 * 作   者: 史 云
 * 版   本: 1.0.0
 * 时   间: 2022年01月11日  10:00:00
 */
@Mapper
public interface StationMapper extends RootMapper<StationPo> {

    /**
     * 方法描述: 获取缓存数据
     * 作    者: 史 云
     * 时    间: 2022年05月17日  15:02:11
     */
    @Select("SELECT ${idKey} AS `key`,${valueName} AS `value` FROM ${tableName};")
    List<CacheBean> selectCacheList(@Param("tableName") String tableName,@Param("idKey") String idKey,@Param("valueName") String valueName);

    /**
     * 方法描述: 查询线路类型
     * 作    者: 史 云
     * 时    间: 2022年08月25日  16:29:28
     */
    @Select(" SELECT DISTINCT a.line_id,IF(b.line_type=3,'GT','PT')line_type FROM t_line_station a LEFT JOIN t_line_info b ON b.id = a.line_id; ")
    List<LineTypeDto> selectLineIdAndType();

    /**
     * 方法描述: 更新线路类型
     * 作    者: 史 云
     * 时    间: 2022年08月25日  16:33:08
     */
    @Update(" UPDATE t_line_station SET line_type=#{lineType} WHERE line_id=#{lineId} ;")
    int updateLineType(@Param("lineId")String lineId,@Param("lineType")String lineType);
}
